package cn.edu.hbvtc.qms.domain;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "evaluation")
public class Evaluation implements Serializable {

	private static final long serialVersionUID = 1L;
	private int id;
	private User evaluator;// 评价者
	private User evaluated;// 被评价者
	private String evaldate;// 评价日期
	private Course course;// 课程
	private Clazz clazz;// 班级
	private Criteria criteria;// 评价标准
	private String score;// 评价得分
	private String suggestion;// 教学建议
	private Term term;// 学期
	
	private String totalScore;// 评价总得分
	private String goalScore; // 教学目标得分
	private String contentScore; // 教学内容与资讯得分
	private String methodScore; // 教学组织与方法得分
	private String attitudeScore; // 教学态度的得分
	private String manageScore; // 教学管理得分
	private String effectScore; // 教学效果得分
	
	private String score1;//20项指标评分
	private String score2;
	private String score3;
	private String score4;
	private String score5;
	private String score6;
	private String score7;
	private String score8;
	private String score9;
	private String score10;
	private String score11;
	private String score12;
	private String score13;
	private String score14;
	private String score15;
	private String score16;
	private String score17;
	private String score18;
	private String score19;
	private String score20;
	
	private String totalA;//优良中差四个选项总数统计
	private String totalB;
	private String totalC;
	private String totalD;
	
	private String evalNumber;// 参与评价者人数
	private EvalPeriod evalPeriod; // 评价时间段

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	@ManyToOne
	@JoinColumn(name = "evaluator_id")
	public User getEvaluator() {
		return evaluator;
	}

	public void setEvaluator(User evaluator) {
		this.evaluator = evaluator;
	}

	@ManyToOne
	@JoinColumn(name = "evaluated_id")
	public User getEvaluated() {
		return evaluated;
	}

	public void setEvaluated(User evaluated) {
		this.evaluated = evaluated;
	}

	@Column
	public String getEvaldate() {
		return evaldate;
	}

	public void setEvaldate(String evaldate) {
		this.evaldate = evaldate;
	}

	@ManyToOne
	@JoinColumn(name = "course_id")
	public Course getCourse() {
		return course;
	}

	public void setCourse(Course course) {
		this.course = course;
	}

	@ManyToOne
	@JoinColumn(name = "clazz_id")
	public Clazz getClazz() {
		return clazz;
	}

	public void setClazz(Clazz clazz) {
		this.clazz = clazz;
	}

	@ManyToOne
	@JoinColumn(name = "criteria_id")
	public Criteria getCriteria() {
		return criteria;
	}

	public void setCriteria(Criteria criteria) {
		this.criteria = criteria;
	}

	@Column
	public String getScore() {
		return score;
	}

	public void setScore(String score) {
		this.score = score;
	}

	@Column
	public String getSuggestion() {
		return suggestion;
	}

	public void setSuggestion(String suggestion) {
		this.suggestion = suggestion;
	}

	@ManyToOne
	@JoinColumn(name = "term_id")
	public Term getTerm() {
		return term;
	}

	public void setTerm(Term term) {
		this.term = term;
	}

	@Column
	public String getTotalScore() {
		return totalScore;
	}

	public void setTotalScore(String totalScore) {
		this.totalScore = totalScore;
	}

	@Transient
	public String getEvalNumber() {
		return evalNumber;
	}

	public void setEvalNumber(String evalNumber) {
		this.evalNumber = evalNumber;
	}

	@ManyToOne
	@JoinColumn(name = "eval_period_id")
	public EvalPeriod getEvalPeriod() {
		return evalPeriod;
	}

	public void setEvalPeriod(EvalPeriod evalPeriod) {
		this.evalPeriod = evalPeriod;
	}

	@Transient
	public String getGoalScore() {
		return goalScore;
	}

	public void setGoalScore(String goalScore) {
		this.goalScore = goalScore;
	}

	@Transient
	public String getContentScore() {
		return contentScore;
	}

	public void setContentScore(String contentScore) {
		this.contentScore = contentScore;
	}

	@Transient
	public String getMethodScore() {
		return methodScore;
	}

	public void setMethodScore(String methodScore) {
		this.methodScore = methodScore;
	}

	@Transient
	public String getAttitudeScore() {
		return attitudeScore;
	}

	public void setAttitudeScore(String attitudeScore) {
		this.attitudeScore = attitudeScore;
	}

	@Transient
	public String getManageScore() {
		return manageScore;
	}

	public void setManageScore(String manageScore) {
		this.manageScore = manageScore;
	}

	@Transient
	public String getEffectScore() {
		return effectScore;
	}

	public void setEffectScore(String effectScore) {
		this.effectScore = effectScore;
	}

	@Transient
	public String getScore1() {
		return score1;
	}

	public void setScore1(String score1) {
		this.score1 = score1;
	}
	
	@Transient
	public String getScore2() {
		return score2;
	}

	public void setScore2(String score2) {
		this.score2 = score2;
	}

	@Transient
	public String getScore3() {
		return score3;
	}

	public void setScore3(String score3) {
		this.score3 = score3;
	}

	@Transient
	public String getScore4() {
		return score4;
	}

	public void setScore4(String score4) {
		this.score4 = score4;
	}

	@Transient
	public String getScore5() {
		return score5;
	}

	public void setScore5(String score5) {
		this.score5 = score5;
	}

	@Transient
	public String getScore6() {
		return score6;
	}

	public void setScore6(String score6) {
		this.score6 = score6;
	}

	@Transient
	public String getScore7() {
		return score7;
	}

	public void setScore7(String score7) {
		this.score7 = score7;
	}

	@Transient
	public String getScore8() {
		return score8;
	}

	public void setScore8(String score8) {
		this.score8 = score8;
	}

	@Transient
	public String getScore9() {
		return score9;
	}

	public void setScore9(String score9) {
		this.score9 = score9;
	}

	@Transient
	public String getScore10() {
		return score10;
	}

	public void setScore10(String score10) {
		this.score10 = score10;
	}

	@Transient
	public String getScore11() {
		return score11;
	}

	public void setScore11(String score11) {
		this.score11 = score11;
	}

	@Transient
	public String getScore12() {
		return score12;
	}

	public void setScore12(String score12) {
		this.score12 = score12;
	}

	@Transient
	public String getScore13() {
		return score13;
	}

	public void setScore13(String score13) {
		this.score13 = score13;
	}

	@Transient
	public String getScore14() {
		return score14;
	}

	public void setScore14(String score14) {
		this.score14 = score14;
	}

	@Transient
	public String getScore15() {
		return score15;
	}

	public void setScore15(String score15) {
		this.score15 = score15;
	}

	@Transient
	public String getScore16() {
		return score16;
	}

	public void setScore16(String score16) {
		this.score16 = score16;
	}

	@Transient
	public String getScore17() {
		return score17;
	}

	public void setScore17(String score17) {
		this.score17 = score17;
	}

	@Transient
	public String getScore18() {
		return score18;
	}

	public void setScore18(String score18) {
		this.score18 = score18;
	}

	@Transient
	public String getScore19() {
		return score19;
	}

	public void setScore19(String score19) {
		this.score19 = score19;
	}

	@Transient
	public String getScore20() {
		return score20;
	}

	public void setScore20(String score20) {
		this.score20 = score20;
	}

	@Transient
	public String getTotalA() {
		return totalA;
	}

	public void setTotalA(String totalA) {
		this.totalA = totalA;
	}

	@Transient
	public String getTotalB() {
		return totalB;
	}

	public void setTotalB(String totalB) {
		this.totalB = totalB;
	}

	@Transient
	public String getTotalC() {
		return totalC;
	}

	public void setTotalC(String totalC) {
		this.totalC = totalC;
	}

	@Transient
	public String getTotalD() {
		return totalD;
	}

	public void setTotalD(String totalD) {
		this.totalD = totalD;
	}
	
}
